home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Main.bin / tree.h < prev    next >
C/C++ Source or Header  |  1998-09-15  |  2KB  |  69 lines

  1. /*
  2.  * @(#)tree.h    1.28 98/07/01
  3.  *
  4.  * Copyright 1995-1998 by Sun Microsystems, Inc.,
  5.  * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
  6.  * All rights reserved.
  7.  * 
  8.  * This software is the confidential and proprietary information
  9.  * of Sun Microsystems, Inc. ("Confidential Information").  You
  10.  * shall not disclose such Confidential Information and shall use
  11.  * it only in accordance with the terms of the license agreement
  12.  * you entered into with Sun.
  13.  */
  14.  
  15. /*
  16.  * Definitions having to do with the program tree
  17.  */
  18.  
  19. #ifndef _TREE_H_
  20. #define _TREE_H_
  21.  
  22. #include "oobj.h"    /* for the definition of unicode */
  23. #include "typecodes.h"
  24.  
  25. extern int   SkipSourceChecks;
  26. extern char *progname;
  27. extern ClassClass **binclasses;
  28. extern long nbinclasses, sizebinclasses;
  29.  
  30. /* User specifiable attributes */
  31. #define ACC_PUBLIC            0x0001    /* visible to everyone */
  32. #define ACC_PRIVATE           0x0002    /* visible only to the defining class */
  33. #define ACC_PROTECTED         0x0004    /* visible to subclasses */
  34. #define ACC_STATIC            0x0008    /* instance variable is static */
  35. #define ACC_FINAL             0x0010    /* no further subclassing, overriding */
  36. #define ACC_SYNCHRONIZED      0x0020    /* wrap method call in monitor lock */
  37. #define ACC_SUPER             0x0020    /* funky handling of invokespecial */
  38. #define ACC_THREADSAFE        0x0040    /* can cache in registers */
  39. #define ACC_TRANSIENT         0x0080    /* not persistant */
  40. #define ACC_NATIVE            0x0100    /* implemented in C */
  41. #define ACC_INTERFACE         0x0200    /* class is an interface */
  42. #define ACC_ABSTRACT          0x0400    /* no definition provided */
  43. #define ACC_XXUNUSED1         0x0800    /*  */
  44.  
  45. #define ACC_WRITTEN_FLAGS     0x0FFF    /* flags actually put in .class file */
  46.  
  47. /* Other attributes */
  48. #define ACC_VALKNOWN          0x1000    /* constant with known value */
  49. #define ACC_DOCED             0x2000    /* documentation generated */
  50. #define ACC_MACHINE_COMPILED  0x4000    /* compiled to machine code */
  51. #define ACC_XXUNUSED3         0x8000    /*  */
  52.  
  53. #define IsPrivate(access) (((access) & ACC_PRIVATE) != 0)
  54. #define IsPublic(access)  (((access) & ACC_PUBLIC) != 0)
  55. #define IsProtected(access)  (((access) & ACC_PROTECTED) != 0)
  56.  
  57. char *addstr(char *s, char *buf, char *limit, char term);
  58. char *addhex(long n, char *buf, char *limit);
  59. char *adddec(long n, char *buf, char *limit);
  60.  
  61. #ifdef TRIMMED
  62. # undef DEBUG
  63. # undef STATS
  64. # define NOLOG
  65. #endif
  66.  
  67.  
  68. #endif /* !_TREE_H_ */
  69.